/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb.dao.estagio;

import ejb.dao.AbstractFacade;
import java.util.HashMap;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author Gomes
 */
@Stateless(mappedName = "EstagioFacadeEJB")
public class EstagioFacade extends AbstractFacade<Estagio> implements EstagioFacadeLocal {

    @PersistenceContext(unitName = "Sigef-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public EstagioFacade() {
        super(Estagio.class);
    }

    @Override
    public List<Estagio> findPorOrientador(Long idOrientador) {
        List<Estagio> estagios = null;
        HashMap<String, String> par = new HashMap<>();
        par.put("n", idOrientador.toString());
        estagios = executeQuery("FROM Estagio WHERE orientador_id =:n", 0, par);
        return estagios;
    }

    @Override
    public List<Estagio> findEsperandoAprovacaoPorOrientador(Long idOrientador) {
        List<Estagio> estagios = null;
        HashMap<String, String> par = new HashMap<>();
        par.put("n", idOrientador.toString());
        par.put("x", "Espera");
        estagios = executeQuery("FROM Estagio WHERE orientador_id =:n AND status =:x", 0, par);
        return estagios;
    }
    /*    
    @Override
    public Estagio findPorEstagiario(Long idEstagiario){
    Estagio estagio = null;        
    HashMap<String, String> par = new HashMap<>();
    par.put("n", idEstagiario.toString());
    estagio = executeQuerySingleResult("FROM Estagio WHERE estagiario_id =:n",par);
    return estagio;
    }*/

    @Override
    public int contarEstagiosEmEspera(Long idOrientador) {
        return findEsperandoAprovacaoPorOrientador(idOrientador).size();
    }
}
